go/types.Map.key (field)
26 uses
go/types (current package)
builtins.go#L394: if key != nil && !Identical(map_.key, key) {
builtins.go#L398: key = map_.key
expr.go#L1467: if utyp.key == nil || utyp.elem == nil {
expr.go#L1478: check.exprWithHint(x, kv.Key, utyp.key)
expr.go#L1479: check.assignment(x, utyp.key, "map literal")
expr.go#L1487: if IsInterface(utyp.key) {
index.go#L96: check.assignment(&key, typ.key, "map index")
index.go#L134: k = t.key
infer.go#L431: return w.isParameterized(t.key) || w.isParameterized(t.elem)
infer.go#L762: w.typ(t.key)
map.go#L9: key, elem Type
map.go#L14: return &Map{key: key, elem: elem}
map.go#L18: func (m *Map) Key() Type { return m.key }
predicates.go#L377: return identical(x.key, y.key, cmpTags, p) && identical(x.elem, y.elem, cmpTags, p)
stmt.go#L951: return typ.key, typ.elem
subst.go#L185: key := subst.typ(t.key)
subst.go#L187: if key != t.key || elem != t.elem {
subst.go#L188: return &Map{key: key, elem: elem}
typestring.go#L252: w.typ(t.key)
typexpr.go#L342: typ.key = check.varType(e.Key)
typexpr.go#L352: if !Comparable(typ.key) {
typexpr.go#L354: if isTypeParam(typ.key) {
typexpr.go#L357: check.errorf(e.Key, _IncomparableMapKey, "incomparable map key type %s%s", typ.key, why)
unify.go#L536: return u.nify(x.key, y.key, p) && u.nify(x.elem, y.elem, p)